#include <list>
#include <string>

struct Interaction
{

    std::string id;
    std::string function;
    std::list< std::pair< std::string, std::string> > pairs;
    std::list<float> parameters;
    std::list<std::string> classes;


    Interaction();
    Interaction(const std::string& newId, const std::string& newFunction)
        :id(newId),
         function(newFunction)
    {        
    }

    void addPair(const std::string& p1, const std::string& p2)
    {
        std::pair< std::string, std::string> pair(p1, p2);
        pairs.push_back(pair);
    }
    
    void addParameter(float param){
        parameters.push_back(param);
    }
    
    void addClass(const std::string& newclass){
        classes.push_back(newclass);
    }

};
